France Travail Scraper: 700K+ FR Jobs (Pôle Emploi) avatar

France Travail Scraper: 700K+ FR Jobs (Pôle Emploi)

Pricing

$1.50 / 1,000 job scrapeds

Go to Apify Store
France Travail Scraper: 700K+ FR Jobs (Pôle Emploi)

France Travail Scraper: 700K+ FR Jobs (Pôle Emploi)

Scrape 700K+ public job offers from France Travail (ex Pôle Emploi). Filter by keywords, location, contract (CDI/CDD/alternance), experience, salary. Get title, company, location, required skills, work hours, full description. For ATS, recruitment agencies, market intel. $1.50/1K jobs.

Pricing

$1.50 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Walid

Walid

Maintained by Community

Actor stats

1

Bookmarked

50

Total users

32

Monthly active users

7 days ago

Last modified

Share

France Travail Scraper — 700K+ FR Jobs API (Pôle Emploi)

Bookmark this actor → apify.com/dltik/francetravail-scraper — Apify ranks by bookmarks, so it directly drives the visibility of this scraper. One click. No signup beyond your existing Apify account.

Scrape 700K+ public job offers from France Travail (formerly Pôle Emploi) — the largest French public job board. Filter by 11+ criteria. Get structured salary, NLP-extracted skills, lat/lon geo coords, education level, experience years — fields no other France Travail scraper on Apify provides. No OAuth, no API key, no monthly subscription.

✨ What makes this scraper different

FeatureThis scraperOther FT scrapers
Structured salary (min, max, period, annualized_*)❌ raw string only
80+ skills auto-extracted (Python, AWS, leadership, CAP, BTS...)
Geo coords (lat/lon via BAN) for each job
Experience years detection
Education level detection (Bac+N, BTS, Master...)
Partner offers (Indeed, Apec) inclusion togglepartial
Detail page enrichmentoptional
Success rate (live 30d)100%varies
Reviews0 (new)0-1

What can this scraper do?

  • 🇫🇷 700K+ live French job offers indexed by France Travail (CDI, CDD, alternance, intérim, stage)
  • 🎯 11 search filters — keywords, location, contract, experience, qualification, salary, radius, posted since, full-time, ROME code
  • 💰 Structured salary parsingmin, max, currency, period (year/month/hour), auto-annualized
  • 🧠 NLP skills extraction — 80+ keywords (Python, JS, Docker, AWS, BTS, CACES, CAP, leadership, anglais...)
  • 📍 Geo coordinates — every job geocoded via Base Adresse Nationale (free, official FR gov)
  • 🎓 Education level + experience years auto-detected from descriptions
  • 🚀 No auth, no quota — HTTP-only, datacenter proxy optional

What data can you extract per job?

FieldDescription
idFrance Travail offer ID
titleJob title
companyEmployer name (or anonymized "Particulier")
locationCity + postal code
geo{ lat, lon, label } from BAN API
departmentDépartement code (75, 92, 13...)
contract_typeCDI / CDD / MIS / SAI / FS
contract_natureE1 alternance / E2 apprentissage / FT CIE...
salaryRaw salary text from France Travail
salary_parsed{ min, max, currency, period, annualized_min, annualized_max, is_range }
skills_detectedList of skills (NLP-extracted, ≤25 per job)
experience_yearsDetected min years from description
education_levelDetected (Bac+5, BTS, CAP, Master...)
descriptionFull job description (when enrichDetails=true)
rome_codeROME job classification code
apply_urlDirect application URL on France Travail
posted_dateYYYY-MM-DD
partner_sourceIndeed / Apec / direct if applicable

How to scrape France Travail jobs in 5 steps

  1. Create a free Apify account — no credit card required
  2. Open France Travail Scraper on Apify Store
  3. Set your filters — keyword (e.g. "développeur python"), location (75D for Paris dept), contract (CDI)
  4. Pick maxResults (start with 20 to validate, scale to 5000 once happy)
  5. Click Start — clean JSON in seconds, exportable to CSV / JSON / Excel from Apify dataset UI

How much does it cost to scrape France Travail jobs?

PAY_PER_EVENT — $0.0015 per job scraped ($1.50 per 1,000 results). Failed/empty runs not charged.

Run sizeJobsApify costTime
Quick test20$0.03~3s
Standard200$0.30~15s
Deep1,000$1.50~1min
Massive5,000$7.50~5min

Add enrichDetails=true for full description + skills + experience (+1 detail fetch per job, +50% time).

Input parameters

ParameterTypeDefaultDescription
keywordsstringFree-text search (title + description)
locationstring75D = Paris dept, 13D = Bouches-du-Rhône
contractTypestringCDI, CDD, MIS, SAI, multiple via comma
contractNaturestringE1 alternance, E2 apprentissage, FS formation
experienceenum1 débutant, 2 exigé, 3 expérimenté
qualificationstring5 cadre, 3 technicien, etc.
fullTimeOnlyboolfalseOnly full-time
minSalarystringAnnual minimum (30000)
radiusKmstringSearch radius from location
postedSinceenum1, 3, 7, 14, 31 days
includePartnersbooltrueInclude Indeed/Apec partner offers
enrichDetailsboolfalseFetch detail page (full description, skills)
maxResultsinteger201–5000
proxyConfigobjectdatacenterFrance Travail rarely blocks

Output example

{
"id": "ABCD123",
"title": "Data Engineer Senior H/F",
"company": "Acme Tech",
"location": "Paris 9e (75009)",
"geo": { "lat": 48.8775, "lon": 2.3380, "label": "Paris 9e Arrondissement" },
"department": "75",
"contract_type": "CDI",
"salary": "De 55 000 € à 75 000 € sur 12 mois",
"salary_parsed": {
"raw": "De 55 000 € à 75 000 € sur 12 mois",
"min": 55000, "max": 75000, "currency": "EUR",
"period": "year", "is_range": true,
"annualized_min": 55000, "annualized_max": 75000
},
"skills_detected": ["Python", "AWS", "Docker", "Kafka", "Snowflake", "SQL", "Airflow", "anglais"],
"experience_years": 5,
"education_level": "Bac+5",
"description": "Vous rejoignez l'équipe data...",
"rome_code": "M1805",
"apply_url": "https://candidat.francetravail.fr/offres/recherche/detail/ABCD123",
"posted_date": "2026-06-19",
"scraped_at": "2026-06-20T14:32:01Z"
}

Use cases

  • 🎯 ATS auto-feed — daily import of new CDI/alternance offers matching company hiring filters
  • 💼 Recruitment intelligence — track who's hiring what in any ROME code / department
  • 💰 Salary benchmarking — aggregate salary_parsed across thousands of jobs by role + region
  • 🗺️ Geo job-map dashboards — leverage geo.lat/lon for interactive maps (Mapbox, Leaflet)
  • 📊 Labor-market analytics — track open job count per ROME × department × month
  • 🤖 Career bots — alert candidates daily when matching jobs are posted (combine with diff)
  • 🎓 Career coaching SaaS — show students alternance/apprentissage matching their CAP/BTS

Use the actor via API

Python:

import requests
run = requests.post(
"https://api.apify.com/v2/acts/dltik~francetravail-scraper/run-sync-get-dataset-items",
headers={"Authorization": "Bearer YOUR_APIFY_TOKEN", "Content-Type": "application/json"},
json={
"keywords": "développeur python",
"location": "75D",
"contractType": "CDI",
"experience": "2",
"postedSince": "7",
"enrichDetails": True,
"maxResults": 50
}
).json()
print(f"Scraped {len(run)} jobs")

curl:

curl -X POST "https://api.apify.com/v2/acts/dltik~francetravail-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords":"data engineer","location":"69D","contractType":"CDI","maxResults":100}'

FAQ

Why not the official France Travail API? The official API requires OAuth registration, has a monthly quota, and a 3-month auth-key rotation. This scraper hits the public search endpoints — zero auth, no quota, every public job offer included.

Does it cover alternance and stage? Yes, via contractNature (E1 alternance, E2 apprentissage, FS formation). All major contract types supported.

ROME code support? Yes — all 532 ROME job codes are searchable via the keywords filter (e.g., keywords=M1805).

How fresh is the data? Pulled live at run time. France Travail re-indexes the public search every ~hour, so freshness matches their public site.

Will France Travail block my runs? We've never been blocked at moderate volume (< 5000 jobs/run). Datacenter proxy is the default — toggle to residential only if you scrape at high frequency.

What's salary_parsed exactly? A structured breakdown of the raw salary string: detects ranges (30k-45k), single values (30000), periods (year/month/hour), and auto-annualizes to a comparable yearly figure. Unlike other scrapers, you can filter and sort numerically.


Found this France Travail Scraper useful? Bookmark it — Apify ranks actors by bookmarks, so it's the strongest single signal for Store visibility. One click.

Other scrapers by dltik

ActorWhat it doesPrice
Pappers Sirene Scraper26M French companies (SIREN, SIRET, dirigeants, capital)$0.001/result
Pappers Enrichment BundleBulk enrichment of SIREN lists with full company data$0.005/result
Pappers MCP ServerFrench company data for AI agents (Claude / GPT)$0.01/tool-call
BODACC ScraperFrench commercial court announcements (creations, faillites, M&A)$0.003/record
BODACC MCP ServerBODACC announcements for AI agents$0.01/tool-call
HelloWork ScraperFrance's #2 job board$0.003/job
Welcome to the Jungle ScraperTech-focused FR/EU jobs$0.003/job
JobTeaser ScraperStudent jobs, internships, alternance$0.003/job
Malt ScraperFrench freelancers (profiles, rates)$0.005/profile
Annuaire Administration FrançaiseFrench gov agencies & contacts$0.003/org
TED Europa ScraperEU public procurement tenders$0.005/tender
Boamp ScraperFrench national public procurement$0.005/tender
ADEME DPE ScraperEnergy performance diagnostics for FR buildings$0.002/DPE
HATVP ScraperFrench elected officials' financial declarationsvaries

License: MIT · Author: dltik